//
//  DGGlobalTimerManager.h
//  DGGlobalTimer
//
//  Created by Jinxiao on 7/24/14.
//  Copyright (c) 2014 debugeek. All rights reserved.
//

@interface DGGlobalTimerManager : NSObject

+ (instancetype)sharedInstance;

- (void)scheduleGlobalTimerForTaskKey:(NSString *)taskKey interval:(NSTimeInterval)interval duration:(NSTimeInterval)duration;

- (void)rescheduleGlobalTimerForTaskKey:(NSString *)taskKey interval:(NSTimeInterval)interval duration:(NSTimeInterval)duration;

- (void)removeGlobalTimerForTaskKey:(NSString *)taskKey;

- (void)observeGlobalTimerForIdentifier:(NSString *)identifier taskKey:(NSString *)taskKey preparedBlock:(void (^)())preparedBlock initializedBlock:(void (^)(NSTimeInterval remains))initializedBlock triggeredBlock:(void (^)(NSTimeInterval remains))triggeredBlock completedBlock:(void (^)(void))completedBlock;

@end
